#include<stdio.h>
//计算功能
int add(int a,int b)
{
    return a+b;
}
int minus(int a,int b)
{
    return a-b;
}
int muliply(int a,int b)
{
    return a*b;
}
int divide(int a,int b)
{
    return a/b;
} 

//开闭原则：尽量不要去修改原有的代码，要对代码进行扩展
int caculate(int a,int b,int(*funcptr)(int,int))

{
   // switch(c)
   // {
       // case'+':return add(a,b);
        //case'-':return minnus(a,b);
        //case'*':return mutiplu(a,b);
        //case'/':return dovide(a,b);
        return funcpter(a,b);//回调函数（callback）：将函数指针传给另一个函数作为参数

    }




int main()
{
    printf("%d\n"caculate(2,3,add));
    return 0;

}